From 44b74ff4170090673b6eeacd8c528e0abf47b7aa Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Mon, 1 Dec 2025 19:52:06 +0900 Subject: (김준회) deprecated code 정리 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../(engineering)/faq/manage/actions.ts | 48 ----------------- .../engineering/(engineering)/faq/manage/page.tsx | 38 ------------- app/[lng]/engineering/(engineering)/faq/page.tsx | 62 ---------------------- 3 files changed, 148 deletions(-) delete mode 100644 app/[lng]/engineering/(engineering)/faq/manage/actions.ts delete mode 100644 app/[lng]/engineering/(engineering)/faq/manage/page.tsx delete mode 100644 app/[lng]/engineering/(engineering)/faq/page.tsx (limited to 'app/[lng]/engineering/(engineering)/faq') diff --git a/app/[lng]/engineering/(engineering)/faq/manage/actions.ts b/app/[lng]/engineering/(engineering)/faq/manage/actions.ts deleted file mode 100644 index bc443a8a..00000000 --- a/app/[lng]/engineering/(engineering)/faq/manage/actions.ts +++ /dev/null @@ -1,48 +0,0 @@ -'use server'; - -import { promises as fs } from 'fs'; -import path from 'path'; -import { FaqCategory } from '@/components/faq/FaqCard'; -import { fallbackLng } from '@/i18n/settings'; - -const FAQ_CONFIG_PATH = path.join(process.cwd(), 'config', 'faqDataConfig.ts'); - -export async function updateFaqData(lng: string, newData: FaqCategory[]) { - try { - const fileContent = await fs.readFile(FAQ_CONFIG_PATH, 'utf-8'); - const dataMatch = fileContent.match(/export const faqCategories[^=]*=\s*(\{[\s\S]*\});/); - if (!dataMatch) { - throw new Error('FAQ 데이터 형식이 올바르지 않습니다.'); - } - - const allData = eval(`(${dataMatch[1]})`); - const updatedData = { - ...allData, - [lng]: newData - }; - - const newFileContent = `import { FaqCategory } from "@/components/faq/FaqCard";\n\ninterface LocalizedFaqCategories {\n [lng: string]: FaqCategory[];\n}\n\nexport const faqCategories: LocalizedFaqCategories = ${JSON.stringify(updatedData, null, 4)};`; - await fs.writeFile(FAQ_CONFIG_PATH, newFileContent, 'utf-8'); - - return { success: true }; - } catch (error) { - console.error('FAQ 데이터 업데이트 중 오류 발생:', error); - return { success: false, error: '데이터 업데이트 중 오류가 발생했습니다.' }; - } -} - -export async function getFaqData(lng: string): Promise<{ data: FaqCategory[] }> { - try { - const fileContent = await fs.readFile(FAQ_CONFIG_PATH, 'utf-8'); - const dataMatch = fileContent.match(/export const faqCategories[^=]*=\s*(\{[\s\S]*\});/); - if (!dataMatch) { - throw new Error('FAQ 데이터 형식이 올바르지 않습니다.'); - } - - const allData = eval(`(${dataMatch[1]})`); - return { data: allData[lng] || allData[fallbackLng] || [] }; - } catch (error) { - console.error('FAQ 데이터 읽기 중 오류 발생:', error); - return { data: [] }; - } -} \ No newline at end of file diff --git a/app/[lng]/engineering/(engineering)/faq/manage/page.tsx b/app/[lng]/engineering/(engineering)/faq/manage/page.tsx deleted file mode 100644 index 011bbfa4..00000000 --- a/app/[lng]/engineering/(engineering)/faq/manage/page.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { FaqManager } from '@/components/faq/FaqManager'; -import { getFaqData, updateFaqData } from './actions'; -import { revalidatePath } from 'next/cache'; -import { FaqCategory } from '@/components/faq/FaqCard'; - -interface Props { - params: { - lng: string; - } -} - -export default async function FaqManagePage(props: Props) { - const resolvedParams = await props.params - const lng = resolvedParams.lng - const { data } = await getFaqData(lng); - - async function handleSave(newData: FaqCategory[]) { - 'use server'; - await updateFaqData(lng, newData); - revalidatePath(`/${lng}/evcp/faq`); - } - - return ( -
- Manage FAQ categories and items for {lng.toUpperCase()} language. -
-- Find answers to common questions about using the EVCP system. -
-